	org 0x100	; 32b

	push 0xA000
	pop es

	mov al,0x13
	int 0x10


;        push 63                 ; 35b + ( ret -> int 0x20 )
;        push 21167
;        push cx
;        mov dx,0x3C9
;        mov si,sp
;        mov cx,256*3
;pal:    mov [si],cx
;        fild word [si]
;        fimul word [si+2]
;        fsin
;        fmul st0,st0
;        fimul word [si+4]
;        fistp word [si]
;        mov ax,[si]
;        out dx,al
;        loop pal

;        mov cl,254              ; 27b
;        mov dx,0x3C9
;pal:    xor al,al
;        out dx,al
;        mov ax,cx
;        sub ax,127
;        jg module
;        neg al
;module: shr al,1
;        sub al,63
;        neg al
;        out dx,al
;        out dx,al
;        loop pal

;        xor ax,ax               ; 9b
;        mov dx,0x3C9
;pallp:  out dx,al
;        out dx,al
;        out dx,al
;        inc ax
;        jnz pallp

;        xor ax,ax               ; 15b
;        mov dx,0x3C9            ;
;pallp:  out dx,al               ;
;        out dx,al               ;
;        push ax                 ;
;        ror al,cl               ;
;        out dx,al               ;
;        pop ax                  ;
;        inc ax                  ;
;        jnz pallp               ;

;        mov dx,0x3C9
;        mov cx,256
;pal:    mov ax,cx
;        neg ax
;        shr al,2
;        out dx,al
;        shr al,1
;        out dx,al
;        shr al,1
;        out dx,al
;        loop pal

;        mov dx,0x3C9            ; 14b
;P:      mov ax,cx               ; ax = cx
;        out dx,al               ; R[ i ] = cx & 0xFF;
;        shr ax,1                ; \ G[ i ] = ( cx >> 1 ) & 0xFF;
;        out dx,al               ; /
;        shr ax,1                ; \ B[ i ] = ( cx >> 2 ) & 0xFF;
;        out dx,al               ; /
;        loop P                  ; while( --cx (;

;        mov dx,0x3C9
;pal:    out dx,al
;        inc ax
;        jnz pal

	mov dx,0x3C9		; 18b
pal:	mov al,cl
	shr al,1
	sub al,64
	jl bla
	not al
bla:	out dx,al
	out dx,al
	out dx,al
	loop pal

	mov bx,320
	xor di,di
show:	mov ax,di
	xor dx,dx
	div bx
	mov al,dl
	stosb
	test di,di
	jnz show

	xor ax,ax
	int 0x16

	int 0x20